/**********************************************************************************************/
// dgtKernel.h
//
// Main file for Digital Common Project
// Copyright Diamant Group 2008
/**********************************************************************************************/
#ifndef _DGT_COMMON_H_
#define _DGT_COMMON_H_

#include "stdafx.h"
#include "wx/wx.h"

/**********************************************************************************************/
#define		DGTEXPORT			_declspec(dllexport)

/**********************************************************************************************/
#define		interface			struct

/**********************************************************************************************/
enum TRIGGER_VALUES
{
	TRVALUE_TRUE,		// 1
	TRVALUE_FALSE,		// 0
	TRVALUE_SAVE,		// Q
	TRVALUE_INVERT,		// !Q
	TRVALUE_DENIED		// *
};

/**********************************************************************************************/
enum BOOL_OPERATION
{
	AND = 1,			// And
	OR,					// Or
	NOTAND,				// Not And
	NOTOR				// Not Or
};

/**********************************************************************************************/
enum NORMAL_KIND
{
	AND_OR,				// Form AND/OR
	NOTAND_NOTAND,		// Form NOTAND/NOTAND
	OR_NOTAND,			// Form OR/NOTAND
	NOTOR_OR,			// Form NOTOR/OR
	AND_NOTOR,			// Form AND/NOTOR
	NOTAND_AND,			// Form NOTAND/AND
	OR_AND,				// Form OR/AND
	NOTOR_NOTOR			// Form NOTOR/NOTOR
};

/**********************************************************************************************/
enum PLUGIN_TYPE
{
	PLUGIN_COMP = 10, 
	PLUGIN_LOGIGAL,				// Logical element
	PLUGIN_OPERATION,			// Operation element
	PLUGIN_MEMORY,				// Memory element
	PLUGIN_CIRCUIT,				// Sub-circuit element				
	PLUGIN_TRIGGER,				// Trigger element
	PLUGIN_SYNTEZ,				// Syntez plugin
	PLUGIN_SYNTEZ_OA,			// Syntez of OA Automat
	PLUGIN_SYNTEZ_CA,			// Syntez of CA Automat
	PLUGIN_STORE,				//// Store plugin
	PLUGIN_OUT					//// Output plugin
};

/**********************************************************************************************/
WX_DECLARE_OBJARRAY( bool, wxBoolArray );

#endif // _DGT_COMMON_H_